|
A Wallace tree is an efficient hardware implementation of a digital circuit that multiplies two integers, devised by Australian Computer Scientist Chris Wallace in 1964.〔 C. S. Wallace, A suggestion for a fast multiplier, IEEE Trans. on Electronic Comp. EC-13(1): 14-17 (1964)〕 The Wallace tree has three steps: # Multiply (that is - AND) each bit of one of the arguments, by each bit of the other, yielding results. Depending on position of the multiplied bits, the wires carry different weights, for example wire of bit carrying result of is 32 (see explanation of weights below). # Reduce the number of partial products to two by layers of full and half adders. # Group the wires in two numbers, and add them with a conventional adder.〔(Veech engineering )〕 The second phase works as follows. As long as there are three or more wires with the same weight add a following layer: * Take any three wires with the same weights and input them into a full adder. The result will be an output wire of the same weight and an output wire with a higher weight for each three input wires. * If there are two wires of the same weight left, input them into a half adder. * If there is just one wire left, connect it to the next layer. The benefit of the Wallace tree is that there are only reduction layers, and each layer has propagation delay. As making the partial products is and the final addition is , the multiplication is only , not much slower than addition (however, much more expensive in the gate count). Naively adding partial products with regular adders would require time. From a complexity theoretic perspective, the Wallace tree algorithm puts multiplication in the class NC1. These computations only consider gate delays and don't deal with wire delays, which can also be very substantial. The Wallace tree can be also represented by a tree of 3/2 or 4/2 adders. It is sometimes combined with Booth encoding.〔( Tufts university )〕〔(University of Massachusetts, Amherst )〕 ==Weights explained== The weight of a wire is the radix (to base 2) of the digit that the wire carries. In general, – have indexes of and ; and since the weight of is . 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Wallace tree」の詳細全文を読む スポンサード リンク
|